package com.cn.yunhe.rentcars.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.cn.yunhe.rentcars.model.Car;

/*
 * 分享爱车--新车入册 
 * @author 刘钢铁
 */

@Mapper
public interface CarMapper {

	/**
	 * 按条件查询车辆审核列表
	 * 
	 * @param params
	 *            模糊查询条件
	 * @return
	 */
	List<Car> searchCheckCars(Map<String, String> params);

	/**
	 * 添加新车辆
	 */
	void addCar(Map<String, String> params);

	/**
	 * 根据车辆编号获取车辆信息
	 * @param carid 车辆编号
	 * @return 
	 */
	Car getCarByCarid(String carid);
	
	Car checkpageselect(Map<String, String> params);
	
	
	/**
	 * 修改车辆的状态
	 */
	void editState(Car car);
	
	Car getCarById(String carid);
	
	/**
	 * @author 朱钦明添加方法
	 * 查询所有车辆信息
	 * @param map 传入一个包含指定信息的map集合·
	 * @return 返回一个包含car对象的list集合
	 */
	List<Car> getCars(Map<String,Object> map);
	/**
	 * 查询汽车列表
	 */
	List<Car> getCarsList(String carstate);
	
	/**
	 * 查询车辆的具体信息，包括相关的价格
	 */
	Car getCarInfo(String carid);
	/**
	 * 车辆审核页面查询
	 */
	Car getCarBycode(String carcode);
	/**
     * 修改车辆状态
     */
    void editCar(Car car);
    
    /**
     * 车辆上架页面，设置车辆状态
     * @param car
     */
    void setCarState(Car car);
    
    /**
	 * 模块：所有关系模块
	 * 功能：根据其他关于车辆操作对车辆（状态，保险时间，年检时间，保养时间）进行修改
	 * @param car
	 * @author LPX
	 */
	void setCarAllstate (Car car);
	
	/**
	 * 模块：车辆管理
	 * 功能：修改车辆信息
	 * @param car
	 * @author LPX
	 */
	void editCars (Car car);
	
	/**
	 * 模块：车辆管理
	 * 功能：添加车辆
	 * @param car
	 * @author LPX
	 */
	void addCars (Car car);
	
	/**
	 * 模块：车辆管理
	 * 功能：删除车辆
	 * @param carid
	 * @author LPX
	 */
	void delCar (String carid);
	
	/**
	 * 模块：车辆管理
	 * 功能：批量删除车辆
	 * @param carid
	 * @author LPX
	 */
	void delCars (List<String> caridList) ;
	
	/**
	 * 模块：车辆管理
	 * 功能：条件查询车辆
	 * @param carcord,车辆状态
	 * @author LPX
	 */
	List<Car> searchCar (Map<String, String> params) ;
	/**
	 * 模糊查询获取车辆信息
	 * 
	 * @param  carID
	 * @return
	 */
	
	List<Car> getCar(String carid);
	/**
	 * 模块：车辆管理
	 * 功能：id查询车辆
	 * @param carid
	 * @author LPX
	 */
	Car getCarByIdCar(String carid);
	 /**
     * @param car
     * 添加车辆图片
     */
    void addPicId(Car car);
    /**
     * 按条件查询车辆审核列表
     * 
     * @param params
     *            模糊查询条件
     * @return
     */
    List<Car> searchPutawayCars(Map<String, String> params);
    
    /**
     * 订单生成时，将预定车辆状态改为11已租赁
     * 订单取消时。将预定的车辆状态改为6待租赁
     */
    void updateCarState(Map<String,String> paramsMap);
    
}

